entities:
  docs:
    title: Документы
    # Конфигурация 
    config:
      root_menu: Документы # Корневой элемент меню
    # Строим меню по объектам документа
    menu: >
      (
        $root_menu := entities.docs.config.root_menu;
        $append([
            {
              "title": 'Документы',
              "location": $root_menu,
              "expand": true,
              "icon": 'description'
            }
          ],
          docs.$spread().(
              $location := *.location~>$substring(0, 1) = "/"
                ? *.location~>$substring(1)
                : $root_menu & "/" & *.location;
              *.location ? {
                  "location": $location,
                  "order": *.order,
                  "link": "entities/docs/blank?dh-doc-id=" & $keys()[0]
              }
          )
        )
      )
    # Схема данных объекта "Документ"
    schema:
      type: object
      patternProperties:
        "^[0-9a-zA-Z][a-zA-Z0-9_-]*(\\.[a-zA-Z][a-zA-Z0-9_-]*)*$":
          type: object
          properties:
            title:
              title: Название документа
              type: string
            location:
              title: Место расположения в меню
              type: string
            icon:
              title: Иконка в меню
              type: string
            type:
              title: Тип документа
              type: string
            subjects:
              title: Принадлежит объектам
              type: array
              items:
                type: string
            template:
              title: Путь к файлу шаблона
              type: string
            source:
              title: Источник данных (документ, объект, запрос или dataset)
              anyOf:
                - type: string
                  title: Идентификатор dataset
                  pattern: "^[0-9a-zA-Z][a-zA-Z0-9\_]*(\\.[a-zA-Z][a-zA-Z0-9\\_]*)*$"
                - type: string
                  title: JSONata запрос
                  pattern: "\\s*\\((.|\\s)*\\)\\s*"
                - title: Ссылка на документ
                  "$ref": "#/$defs/$res-uri-reference"
                - title: Объект
                  type: object
                - title: Массив
                  type: array
      additionalProperties: false
